1. #!/bin/env python 
  2. # -*- coding: utf-8 -*- 
  3. ########################################################## 
  4. # @This script is used to Install zabbix clent for Windows(32/64) 
  5. # @Function:     Install zabbix clent for Windows 
  6. # @Create Date:  2013-01-02 
  7. #打包官方zabbix_agents_2.0.4.win.zip为rar包,指定解压软件rar的路径。 
  8. ########################################################## 
  9. import os,re,sys,urllib,wmi 
  10.  
  11. c = wmi.WMI () 
  12. for s in c.Win32_Service ():   
  13.     if s.Caption == "Zabbix Agent"
  14.         sys.exit("zabbix already install"
  15.  
  16. url = 'http://192.168.110.110/zabbix_agents_2.0.4.win.rar'    
  17. local = 'C:\\zabbix_agents_2.0.4.win.rar'    
  18. urllib.urlretrieve(url,local,) 
  19. url = 'http://192.168.110.110/rar.exe'    
  20. local = 'C:\\rar.exe'#本地如果安装了指定相应的目录 
  21. urllib.urlretrieve(url,local,) 
  22. os.popen('C:\\rar.exe x -y C:\\zabbix_agents_2.0.4.win.rar -ed C:\\'
  23.  
  24. sProgramFiles = os.environ['PROGRAMFILES'
  25. if "(86)" in sProgramFiles: 
  26.     os.popen('C:\\zabbix\\bin\\win64\\zabbix_agentd.exe -c C:\\zabbix\\conf\\zabbix_agentd.win.conf -i'
  27. else
  28.     os.popen('C:\\zabbix\\bin\\win32\\zabbix_agentd.exe -c C:\\zabbix\\conf\\zabbix_agentd.win.conf -i'
  29. #以下是添加windows网卡流量监控的自定key,注意:一般的执行命令或脚本自定义key格式为:UserParameter=keyname,commd,网卡的为 PerfCounter=keyname,""
  30. conm = os.popen('typeperf.exe -qx|find "Network Interface"|find "Bytes"|find /v "Total"|find /v "Loopback"').readlines() 
  31. f=open('C:\zabbix\conf\zabbix_agentd.win.conf','a+'
  32. f.write('\n'
  33. e = 0 
  34. for i in range(len(conm)): 
  35.     c = re.search('Sent',conm[i]) 
  36.     if c: 
  37.         b = "PerfCounter " + "=" + " eth"+str(e) + "_Out," + '"''"' + str(conm[i]).strip() + '",30' 
  38.         #print b 
  39.         f.write("%s \n" %b) 
  40.         e += 1 
  41. e = 0 
  42. for i in range(len(conm)): 
  43.     c = re.search('Received',conm[i]) 
  44.     if c: 
  45.         b = "PerfCounter " + "=" + " eth"+str(e) + "_In," + '"' + str(conm[i]).strip() + '",30' 
  46.         #print b 
  47.         f.write("%s \n" %b) 
  48.         e += 1 
  49. f.close() 
  50. ''''' 
  51. f = open('C:\zabbix\zabbix_agentd.conf','r+') 
  52. ip = f.read() 
  53. ip = ip.replace('192.168.1.100',ipnew) 
  54. f.seek(0) 
  55. f.write(ip) 
  56. f.close() 
  57. ''' 
  58. os.popen('net start "Zabbix Agent"'
  59. os.popen('net stop "Zabbix Agent"'
  60. os.popen('net start "Zabbix Agent"'
  61. os.remove('C:\\rar.exe'
  62. os.remove('C:\\zabbix_agents_2.0.4.win.rar'
  63. sys.exit("zabbix install success !"